home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / budget.arc / TREASURY.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1985-06-26  |  1.5 KB  |  58 lines

  1. 10  KEY OFF
  2. 20  CLS
  3. 30  PRINT "CURRENT VALUE OF A TREASURY BILL"
  4. 40  DEFDBL P,B:DEFINT M,D,Y,I
  5. 50  PRINT
  6. 60  PRINT "               FACE VALUE ($)";
  7. 70  INPUT P
  8. 80  PRINT "        ISSUE DATE (MM,DD,YY)";
  9. 90  INPUT M,D,Y
  10. 100  GOSUB 490
  11. 110  REM  -- X3 = ABSOLUTE NUMBER OF DAYS FROM IMAGINARY
  12. 120  REM  --           DATE 00/00/00 TO ISSUE DATE
  13. 130  X3=A4
  14. 140  PRINT "     MATURITY DATE (MM,DD,YY)";
  15. 150  INPUT M,D,Y
  16. 160  GOSUB 460
  17. 170  REM  -- X4 = TOTAL NUMBER OF DAYS IN PERIOD
  18. 180  X4=A4-X3
  19. 190  IF X4>=0 THEN 230
  20. 200  PRINT
  21. 210  PRINT "BILLS DO NOT MATURE BEFORE ISSUED"
  22. 220  GOTO 390
  23. 230  PRINT "      TODAY'S DATE (MM,DD,YY)";
  24. 240  INPUT M,D,Y
  25. 250  GOSUB 460
  26. 260  REM  -- X3 = NUMBER OF DAYS FROM ISSUE TO TODAY
  27. 270  X3=A4-X3
  28. 280  IF X3>=0 THEN 320
  29. 290  PRINT
  30. 300  PRINT "BILLS HAVE NO VALUE BEFORE ISSUED"
  31. 310  GOTO 390
  32. 320  PRINT "        CURRENT PRICE BID (%)";
  33. 330  INPUT B
  34. 340  REM  -- X4 = NUMBER OF DAYS LEFT UNTIL MATURITY
  35. 350  X4=X4-X3
  36. 360  PRINT
  37. 370  PRINT "CURRENT VALUE =";
  38. 380  PRINT USING "$$#,###,###,###.##";P-P/100*B*X4/360
  39. 390  PRINT
  40. 400  PRINT "WOULD YOU LIKE TO RE-REUM THIS PROGRAM";
  41. 410  PRINT " USING NEW DATA (Y/N)?"
  42. 420  Z$=INKEY$:IF Z$="" THEN 420
  43. 430  IF Z$="Y" OR Z$="y" THEN 50
  44. 440  IF Z$="N" OR Z$="n" THEN 570
  45. 450  GOTO 400
  46. 460  REM  -- SUBROUTINE TO DETERMINE NUMBER OF DAYS BETWEEN IMAGINARY
  47. 470  REM  -- DATE 00/00/00 AND MM/DD/YY USING 365/366 DAY YEAR.
  48. 480  REM  -- REF. ACCOUNTS PAYABLE & ACCOUNTS RECEIVABLE (WANG), P.255
  49. 490  RESTORE
  50. 500  DATA 0,3,3,6,8,11,13,16,19,21,24,26
  51. 510  FOR I1=1 TO M
  52. 520  READ A4
  53. 530  NEXT I1
  54. 540  A4=A4+Y*365+INT(Y/4)+1+(M-1)*28+D
  55. 550  IF INT(Y/4)=Y/4 AND M<3 THEN A4=A4-1
  56. 560  RETURN
  57. 570  END
  58.